1. Field
This disclosure relates generally to data processors, and more specifically, to the execution of branch instructions by data processors.
2. Related Art
With embedded processing systems, area required by a circuit is a key metric to optimize. In doing so, generally a smaller branch target buffer is preferred to a larger one. In many cases, a small branch target buffer works fine in accelerating a majority of the branches. However, there are also instances of code where the number of branches is large and the branches are executed only once (referred to as “one and done”). In these cases, the usefulness of the branch target buffer is effectively zero when the size of the branch target buffer is less than the number of taken branches due to the constant thrashing of the branch target buffer contents.